#include "stack_base_array.h"
#include <stdio.h>
#include <stdlib.h>
//创建栈
STACK *stack_create(int cap){
		STACK *stack = malloc(sizeof(STACK));//首地址
		stack -> arr = malloc(cap * sizeof(int));//计算arr大小
		stack -> cap = cap;
		stack -> top = 0;//top初始值为0
		return stack;//返回栈的首地址
	}
//销毁栈
void stack_destroy(STACK *stack){
		free(stack -> arr);//查看是否还有价值
		stack -> arr = NULL;//防止野指针
		free(stack);//释放stack
		stack = NULL;
	}
//压栈操作
void stack_push(STACK *stack,int data){
	stack -> arr[stack -> top++] = data;
	}
//弹栈
int stack_pop(STACK *stack){
	return stack -> arr[--(stack -> top)];//先取内容再减减，当忘记优先级的时候可以加括号解决问题
	}
//判空 如果为空返回1 否则返回0
int stack_empty(STACK *stack){
	return !stack -> top;
	}
//判满 如果为满返回1 否则返回0
int stack_full(STACK *stack){
	//return !stack -> cap;
		if(stack -> top == stack -> cap){
				return 1;
			}
		return 0;
	}

